package com.zq.learn.spark.springspark;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

/**
 * MongoUtil
 * 封装mongodb操作工具，因为在流计算过程中只能使用static对象，无法直接使用mongoTemplate。
 *
 * @author ZhangQi
 * @date 2020/2/12
 */
@Component
public class MongoUtil {
  public static MongoTemplate mongoTemplate;
  @Autowired
  private MongoTemplate springMongoTemp;

  /**
   * 容器初始化的时候执行，将Spring管理的springMongoTemp，暴露给静态的mongoTemplate。
   */
  @PostConstruct
  public void init() {
    mongoTemplate = this.springMongoTemp;
  }
}
